aboutsummaryrefslogtreecommitdiff
path: root/src/nodes.cc
diff options
context:
space:
mode:
authorAdrian Kummerlaender2014-09-16 19:57:28 +0200
committerAdrian Kummerlaender2014-09-16 19:57:28 +0200
commit0e3cfcde619fb60e6e43bf0ffe715df6d5c22218 (patch)
treede4eba6323b29e30e4d226ba1a905ba9bd12714b /src/nodes.cc
parent9db4e054627eb30b4e5a7333405c423df5a8d490 (diff)
downloadSimpleParser-0e3cfcde619fb60e6e43bf0ffe715df6d5c22218.tar
SimpleParser-0e3cfcde619fb60e6e43bf0ffe715df6d5c22218.tar.gz
SimpleParser-0e3cfcde619fb60e6e43bf0ffe715df6d5c22218.tar.bz2
SimpleParser-0e3cfcde619fb60e6e43bf0ffe715df6d5c22218.tar.lz
SimpleParser-0e3cfcde619fb60e6e43bf0ffe715df6d5c22218.tar.xz
SimpleParser-0e3cfcde619fb60e6e43bf0ffe715df6d5c22218.tar.zst
SimpleParser-0e3cfcde619fb60e6e43bf0ffe715df6d5c22218.zip
Improved lexer readabilty and replaced raw new in tree construction
* "new" in Tree::addNode member method was replaced with C++14 std::make_unique * renamed and constified lexer local variables to increase readabilty ** replaced chunky if-clauses with switch-clauses where appropriate * updated README.md to mention C++14 requirement
Diffstat (limited to 'src/nodes.cc')
-rw-r--r--src/nodes.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/nodes.cc b/src/nodes.cc
index e75c02b..f15a8c9 100644
--- a/src/nodes.cc
+++ b/src/nodes.cc
@@ -49,12 +49,11 @@ double OperatorNode::solve() {
);
}
case TokenType::OPERATOR_DIVIDE: {
- double rightChild = this->rightChild->solve();
+ const double rightChild{ this->rightChild->solve() };
if ( rightChild != 0 ) {
return this->leftChild->solve() / rightChild;
- }
- else {
+ } else {
throw divide_exception();
}
}