summaryrefslogtreecommitdiff
path: root/src/calculator.cpp
diff options
context:
space:
mode:
authorHombreLaser <buran@silosneeded.com>2024-06-22 16:45:04 -0600
committerHombreLaser <buran@silosneeded.com>2024-06-22 16:45:04 -0600
commit404826e78a56e15e20d3938aed80945295921745 (patch)
treed607769fccfc4e3c77a9465a9800004421c500cb /src/calculator.cpp
parent10ecf4d95194a273cc6aab89c3a1bcf739a194cd (diff)
Add parser
Diffstat (limited to 'src/calculator.cpp')
-rw-r--r--src/calculator.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/calculator.cpp b/src/calculator.cpp
index 5de706b..4dd8dcd 100644
--- a/src/calculator.cpp
+++ b/src/calculator.cpp
@@ -27,14 +27,20 @@ Calculator::~Calculator() {
void Calculator::run() {
while(true) {
display->Clear();
- std::string input;
- short str_len = 0;
char pressed_key = default_keypad->getKey();
if(pressed_key == '\0')
continue;
- while(str_len <= 15) {
+ processInputs();
+}
+
+void Calculator::processInputs() {
+ char pressed_key;
+ short str_len = 0;
+ std::string input;
+
+ while(str_len <= 15) {
pressed_key = default_keypad->getKey();
if(pressed_key != '\0' && pressed_key != '=') {
@@ -44,7 +50,7 @@ void Calculator::run() {
}
if(pressed_key == '=') {
- std::array tokens = tokenizer.tokenize(input);
+ tokens = tokenizer.tokenize(input);
break;
}