From 80167fd21bd94c3cea4047f076bfda67241b2962 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Thu, 31 Aug 2017 18:48:48 +0200 Subject: [PATCH] Removed unneeded variable parsing functions. --- .../include/pddl/detail/parsing/Variable.h | 4 +- lib/pddl/src/pddl/detail/parsing/Term.cpp | 2 +- lib/pddl/src/pddl/detail/parsing/Variable.cpp | 45 ++----------------- 3 files changed, 6 insertions(+), 45 deletions(-) diff --git a/lib/pddl/include/pddl/detail/parsing/Variable.h b/lib/pddl/include/pddl/detail/parsing/Variable.h index 33e1fd2..504d116 100644 --- a/lib/pddl/include/pddl/detail/parsing/Variable.h +++ b/lib/pddl/include/pddl/detail/parsing/Variable.h @@ -16,9 +16,7 @@ namespace detail // //////////////////////////////////////////////////////////////////////////////////////////////////// -// TODO: find consistent naming scheme -std::experimental::optional testParsingVariable(Context &context, VariableStack &variableStack); -ast::VariablePointer parseVariable(Context &context, VariableStack &variableStack); +std::experimental::optional parseVariable(Context &context, VariableStack &variableStack); //////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/lib/pddl/src/pddl/detail/parsing/Term.cpp b/lib/pddl/src/pddl/detail/parsing/Term.cpp index d0d9e66..386ee64 100644 --- a/lib/pddl/src/pddl/detail/parsing/Term.cpp +++ b/lib/pddl/src/pddl/detail/parsing/Term.cpp @@ -22,7 +22,7 @@ std::experimental::optional parseTerm(Context &context, ASTContext &a tokenizer.skipWhiteSpace(); // TODO: refactor - auto variable = testParsingVariable(context, variableStack); + auto variable = parseVariable(context, variableStack); if (variable) return std::move(variable.value()); diff --git a/lib/pddl/src/pddl/detail/parsing/Variable.cpp b/lib/pddl/src/pddl/detail/parsing/Variable.cpp index 1286553..201a0eb 100644 --- a/lib/pddl/src/pddl/detail/parsing/Variable.cpp +++ b/lib/pddl/src/pddl/detail/parsing/Variable.cpp @@ -10,11 +10,11 @@ namespace detail //////////////////////////////////////////////////////////////////////////////////////////////////// // -// Predicate +// Variable // //////////////////////////////////////////////////////////////////////////////////////////////////// -std::experimental::optional testParsingVariableName(Context &context) +std::experimental::optional parseVariable(Context &context, VariableStack &variableStack) { auto &tokenizer = context.tokenizer; @@ -23,48 +23,11 @@ std::experimental::optional testParsingVariableName(Context &contex tokenizer.expect("?"); - return tokenizer.getIdentifier(); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -std::string parseVariableName(Context &context) -{ - auto &tokenizer = context.tokenizer; - - tokenizer.expect("?"); - - return tokenizer.getIdentifier(); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -std::experimental::optional testParsingVariable(Context &context, VariableStack &variableStack) -{ - auto variableName = testParsingVariableName(context); - - if (!variableName) - return std::experimental::nullopt; - - auto variableDeclaration = variableStack.findVariableDeclaration(variableName.value()); - - if (!variableDeclaration) - return std::experimental::nullopt; - - return std::make_unique(variableDeclaration.value()); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -ast::VariablePointer parseVariable(Context &context, VariableStack &variableStack) -{ - auto &tokenizer = context.tokenizer; - - auto variableName = parseVariableName(context); + auto variableName = tokenizer.getIdentifier(); auto variableDeclaration = variableStack.findVariableDeclaration(variableName); if (!variableDeclaration) - throw ParserException(tokenizer.location(), "undeclared variable “" + variableName + "”"); + return std::experimental::nullopt; return std::make_unique(variableDeclaration.value()); }