diff options
author | Adrian Kummerländer | 2014-03-04 17:02:24 +0100 |
---|---|---|
committer | Adrian Kummerländer | 2014-03-04 17:02:24 +0100 |
commit | 9db4e054627eb30b4e5a7333405c423df5a8d490 (patch) | |
tree | caeadcad4fe8e4ae5a910f4d7553a4bcf33d3dab /src/utils.cc | |
parent | 585fb99f7b3b97ff18ad804c40e9557dea1d064b (diff) | |
download | SimpleParser-9db4e054627eb30b4e5a7333405c423df5a8d490.tar SimpleParser-9db4e054627eb30b4e5a7333405c423df5a8d490.tar.gz SimpleParser-9db4e054627eb30b4e5a7333405c423df5a8d490.tar.bz2 SimpleParser-9db4e054627eb30b4e5a7333405c423df5a8d490.tar.lz SimpleParser-9db4e054627eb30b4e5a7333405c423df5a8d490.tar.xz SimpleParser-9db4e054627eb30b4e5a7333405c423df5a8d490.tar.zst SimpleParser-9db4e054627eb30b4e5a7333405c423df5a8d490.zip |
Did some refactoring to improve readability
* now using range for-loops during Tree printing
* inroduced popNode helper method which helps to simplify the Tree construction implementation
Diffstat (limited to 'src/utils.cc')
-rw-r--r-- | src/utils.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/utils.cc b/src/utils.cc index 9a081f3..62c3af9 100644 --- a/src/utils.cc +++ b/src/utils.cc @@ -3,10 +3,11 @@ #include "exceptions.h" #include <cctype> +#include <sstream> namespace SimpleParser { -TokenType getTokenType(char tmp) { +TokenType determineToken(char tmp) { if ( std::isalpha(tmp) ) { return TokenType::VALUE_IDENTIFIER; } else { @@ -33,7 +34,7 @@ TokenType getTokenType(char tmp) { } } -PrecedenceLevel getPrecedence(TokenType token) { +PrecedenceLevel precedence(TokenType token) { switch ( token ) { case TokenType::VALUE_NUMBER: case TokenType::VALUE_IDENTIFIER: { @@ -73,7 +74,7 @@ std::vector<std::string> lexer(std::string term) { for ( auto termIter = term.begin(); termIter != term.end(); termIter++ ) { - token = getTokenType(*termIter); + token = determineToken(*termIter); if ( token == TokenType::VALUE_NUMBER || token == TokenType::VALUE_IDENTIFIER || @@ -160,4 +161,12 @@ std::vector<std::string> lexer(std::string term) { return output; } +double doubleToString(const std::string& str) { + double value; + std::istringstream convertStream(str); + convertStream >> value; + + return value; +} + } |