aboutsummaryrefslogtreecommitdiffstats
path: root/value.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'value.cpp')
-rw-r--r--value.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/value.cpp b/value.cpp
new file mode 100644
index 0000000..acf80ce
--- /dev/null
+++ b/value.cpp
@@ -0,0 +1,26 @@
+#include "value.h"
+#include <string>
+
+Value::Value(std::string& lexeme) {
+ if (lexeme.find_first_not_of("0123456789")) {
+ m_type = Value::Type::Integer;
+ m_intData = std::stoi(lexeme, nullptr, 10);
+ }
+ else {
+ m_type = Value::Type::String;
+ m_strData = lexeme;
+ }
+}
+
+
+const Value::Type Value::getType() const {
+ return m_type;
+}
+
+const int Value::getIntData() const {
+ return m_intData;
+}
+
+const std::string& Value::getStrData() const {
+ return m_strData;
+}