aboutsummaryrefslogtreecommitdiff
path: root/src/nodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nodes.h')
-rw-r--r--src/nodes.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/nodes.h b/src/nodes.h
index a59f4a5..e90669c 100644
--- a/src/nodes.h
+++ b/src/nodes.h
@@ -3,11 +3,13 @@
#include <string>
+#include "utils.h"
+
namespace SimpleParser {
-enum NodeType {
- OPERAND_NODE,
- OPERATOR_NODE,
+enum class NodeType {
+ OPERAND,
+ OPERATOR,
};
class Node {
@@ -24,22 +26,21 @@ class Node {
class OperatorNode: public Node {
public:
- explicit OperatorNode(char);
+ explicit OperatorNode(TokenType);
virtual double solve();
virtual NodeType getType();
virtual std::string print();
- char getFunction();
+ TokenType getToken();
private:
- char function_;
+ TokenType operator_;
};
class OperandNode: public Node {
public:
explicit OperandNode(double);
- explicit OperandNode(std::string);
virtual double solve();
virtual NodeType getType();