aboutsummaryrefslogtreecommitdiff
path: root/src/utils.cc
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-03-04 17:02:24 +0100
committerAdrian Kummerländer2014-03-04 17:02:24 +0100
commit9db4e054627eb30b4e5a7333405c423df5a8d490 (patch)
treecaeadcad4fe8e4ae5a910f4d7553a4bcf33d3dab /src/utils.cc
parent585fb99f7b3b97ff18ad804c40e9557dea1d064b (diff)
downloadSimpleParser-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.cc15
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;
+}
+
}