From ee2aea49a9543c1be677df4daf43b2de652ab126 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Fri, 17 Nov 2023 14:27:56 -0700 Subject: [PATCH] Remove manual stack code for vector * found a new set of bugs along the way --- legacy/Evaluator.cpp | 125 +++++++++++++++++++++-------------------- legacy/Evaluator.hpp | 2 +- legacy/Stack.cpp | 58 ------------------- legacy/Stack.h | 51 ++++++++++------- legacy/infiz.ncb | Bin 74752 -> 74752 bytes legacy/infiz.opt | Bin 61952 -> 61952 bytes legacy/tests.cpp | 7 ++- legacy/tests/tests.plg | 38 +++++++++++++ 8 files changed, 138 insertions(+), 143 deletions(-) diff --git a/legacy/Evaluator.cpp b/legacy/Evaluator.cpp index 0ee0541..acb758f 100644 --- a/legacy/Evaluator.cpp +++ b/legacy/Evaluator.cpp @@ -34,28 +34,24 @@ int precedence(int op) { } -void evaluateStacks(Stack * numbers, Stack * operators, int num) { +void evaluateStacks(Stack &numbers, Stack &operators, int num) { int eatOpenParan = FALSE; int cont = TRUE; - RationalNumber * operand1; - RationalNumber * operand2; - int startPrec = precedence(*(int *)(operators->peek())); + int startPrec = precedence(*operators.peek()); - if ( *(int *)(operators->peek()) == CLOSE_PARAN ) { + if ( *operators.peek() == CLOSE_PARAN ) { eatOpenParan = TRUE; - delete operators->pop(); + operators.pop(); } + while ( (operators.peek() != NULL) && cont) { - while ( (operators->peek() != NULL) && cont) { - - - switch( *(int *)(operators->peek()) ) { + switch( *operators.peek() ) { case OPEN_PARAN: if (eatOpenParan == TRUE) { - delete operators->pop(); + operators.pop(); cont = FALSE; } @@ -64,43 +60,44 @@ void evaluateStacks(Stack * numbers, Stack * operators, int num) { break; - case PLUS_SIGN: - delete operators->pop(); - operand2 = (RationalNumber *)numbers->pop(); - operand1 = (RationalNumber *)numbers->pop(); - - operand1->add(*operand2); - delete operand2; - numbers->push(operand1); + case PLUS_SIGN:{ + operators.pop(); + RationalNumber operand2 = numbers.pop(); + RationalNumber operand1 = numbers.pop(); + + operand1.add(operand2); + numbers.push(operand1); break; + } - case MINUS_SIGN: - delete operators->pop(); - operand1 = (RationalNumber *)numbers->pop(); - operand1->negate(); + case MINUS_SIGN: { + operators.pop(); + RationalNumber operand1 = numbers.pop(); + operand1.negate(); - numbers->push(operand1); + numbers.push(operand1); break; + } - case MULTIPLY_SIGN: - delete operators->pop(); - operand2 = (RationalNumber *)numbers->pop(); - operand1 = (RationalNumber *)numbers->pop(); + case MULTIPLY_SIGN: { + operators.pop(); + RationalNumber operand2 = numbers.pop(); + RationalNumber operand1 = numbers.pop(); - operand1->multiply(*operand2); - delete operand2; - numbers->push(operand1); + operand1.multiply(operand2); + numbers.push(operand1); break; + } - case DIVIDE_SIGN: - delete operators->pop(); - operand2 = (RationalNumber *)numbers->pop(); - operand1 = (RationalNumber *)numbers->pop(); + case DIVIDE_SIGN: { + operators.pop(); + RationalNumber operand2 = numbers.pop(); + RationalNumber operand1 = numbers.pop(); - operand1->divide(*operand2); - delete operand2; - numbers->push(operand1); + operand1.divide(operand2); + numbers.push(operand1); break; + } } if (num == 1) @@ -113,8 +110,8 @@ void evaluateStacks(Stack * numbers, Stack * operators, int num) { RationalNumber evaluateExpression(StringTokenizer & st) { - Stack * operators = new Stack(); - Stack * numbers = new Stack(); + Stack operators; + Stack numbers; int negateNext = FALSE; @@ -124,75 +121,79 @@ RationalNumber evaluateExpression(StringTokenizer & st) { std::string next = st.nextToken(); - int * value = new int; + int value = 0; if (!next.empty()) { switch(next[0]) { case '+': - *value = PLUS_SIGN; + value = PLUS_SIGN; op = TRUE; break; case '/': - *value = DIVIDE_SIGN; + value = DIVIDE_SIGN; op = TRUE; break; case '-': - *value = MINUS_SIGN; + value = MINUS_SIGN; op = TRUE; break; case '*': - *value = MULTIPLY_SIGN; + value = MULTIPLY_SIGN; op = TRUE; break; case ')': - *value = CLOSE_PARAN; + value = CLOSE_PARAN; op = TRUE; break; case '(': - *value = OPEN_PARAN; + value = OPEN_PARAN; op = TRUE; break; default: - *value = atoi(next.c_str()); + value = atoi(next.c_str()); op = FALSE; - numbers->push(new RationalNumber(*value, 1)); + numbers.push(RationalNumber(value, 1)); break; } if (op) { - int *plus = new int; - *plus = PLUS_SIGN; + int plus = PLUS_SIGN; - switch (*value) { + switch (value) { case OPEN_PARAN: - operators->push(value); + operators.push(value); break; case CLOSE_PARAN: - operators->push(value); + operators.push(value); evaluateStacks(numbers, operators, 0); break; default: - if (operators->peek() != NULL) { - if ( precedence(*value) >= precedence(*(int *)(operators->peek())) ) { - operators->push(value); + if (operators.peek() != NULL) { + if ( precedence(value) >= precedence(*operators.peek()) ) { + operators.push(value); } - if ( precedence(*value) < precedence(*(int *)(operators->peek())) ) { + if ( precedence(value) < precedence(*operators.peek()) ) { evaluateStacks(numbers, operators, 0); - operators->push(value); + operators.push(value); } } else - operators->push(value); + operators.push(value); break; } } } } - if (operators->peek() != NULL) + if (operators.peek() != NULL) evaluateStacks(numbers, operators, 0); - return *(RationalNumber *)numbers->peek(); + + if (numbers.peek() != NULL) { + return *numbers.peek(); + } else { + return RationalNumber(0,0); + } } diff --git a/legacy/Evaluator.hpp b/legacy/Evaluator.hpp index 5766bbf..c7986b2 100644 --- a/legacy/Evaluator.hpp +++ b/legacy/Evaluator.hpp @@ -7,6 +7,6 @@ int precedence(int op); RationalNumber evaluateExpression(StringTokenizer &st); -void evaluateStacks(Stack * numbers, Stack * operators, int num); +void evaluateStacks(Stack &numbers, Stack &operators, int num); #endif \ No newline at end of file diff --git a/legacy/Stack.cpp b/legacy/Stack.cpp index bd6e52c..bc981f5 100644 --- a/legacy/Stack.cpp +++ b/legacy/Stack.cpp @@ -3,62 +3,4 @@ #include "Stack.h" #include -Stack::Stack() { - head=NULL; -} -Stack::~Stack() { - deleteStack(head); -} - -void Stack::deleteStack(stackElem * head) { - if (head!=NULL) { - if(head->next != NULL) { - deleteStack(head->next); - } - delete head->data; - delete head; - } -} - -void * Stack::pop() { - void * toReturn = NULL; - stackElem * newhead; - - if (head != NULL) { - toReturn = head->data; - newhead = head->next; - delete head; - head = newhead; - } - - return toReturn; -} - -int Stack::moreThanOne() { - if (head != NULL) { - if (head->next!=NULL) { - return 1; - } - } - else - return 0; - - return 0; -} - -void Stack::push(void * newElem) { - stackElem * newelem; - - newelem = new stackElem; - newelem->data = newElem; - newelem->next = head; - head = newelem; -} - -void * Stack::peek() { - if (head != NULL) - return head->data; - else - return NULL; -} \ No newline at end of file diff --git a/legacy/Stack.h b/legacy/Stack.h index 13cee08..6ae35c2 100644 --- a/legacy/Stack.h +++ b/legacy/Stack.h @@ -3,33 +3,44 @@ // Stack.h +#include +#include /** - * A Class that allows allows void * to be - * pushed onto an popped off of a stack. - */ +* A Class that allows allows void * to be +* pushed onto an popped off of a stack. +*/ +template class Stack { public: - Stack(); - ~Stack(); - void * pop(); - void push(void * stackElem); - void * peek(); - int moreThanOne(); - -private: - + Stack(){} - struct stackElem { - void * data; - stackElem * next; - }; - void deleteStack(stackElem * head); - stackElem * head; - -}; + Contained pop() { + assert(!data.empty()); + Contained toReturn = data.back(); + data.pop_back(); + return toReturn; + } + bool moreThanOne() const { + return data.size() > 1; + } + + void push(const Contained &newElem) { + data.push_back(newElem); + } + + const Contained * peek() const { + if (data.empty()) + return NULL; + else + return &data.back(); + } +private: + std::vector data; +}; + #endif \ No newline at end of file diff --git a/legacy/infiz.ncb b/legacy/infiz.ncb index fd03c830e9eb8e8f50f0c97eca9f18c3f4e5cdef..00267f30f5fc045fb401669d1b4e60c4818f8c88 100644 GIT binary patch delta 4862 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 diff --git a/legacy/infiz.opt b/legacy/infiz.opt index 1a4f65a7e25b041a7d475aa3cf62a7ad00ef1dcc..4a386843a2b16763102ae7717664039018f8fc9d 100644 GIT binary patch literal 61952 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 Pp1lrpkC*@x$P)MutV8n1 delta 1522 zcmb7D*-KP$6#mY=ca}^q^(;gz|A)-PuDWaDMXI#RlZ1E>9 zC0e$bl}PhY^pHV+K?G%5wqW2xv^+#aw48Hit_XFZ2F{%Go$u_wnb3qDn$U-849BOz z9A9VnpwZ#=bP~GK>*k_=KzDh5k}Le#IjP@Ca(ir;mA1@=5pDjg>e@ZkNBn!LYjz)U zWEYoL=1%vh-9?MTj^g)mHnq3e)~;zMRn<_|+E5j4-~Tw)CO?#_slyG+IWk41HZ0@N zy>_8(?s%Ib19n5SJ}@)~RL_G=T6!9*%@i=d#h#~}!}YZ0&cl$+Zk|Mf?=Ih2ZhY~$ zE_Xhn&(L5XfMz^apPl<#pPo>D$2@ia#ZGdo=ehv{408QiH6=h4Yyfh7tkMe-dkXLjMz_jlMgIb zo~7;ls}}-M37UokirmZ9@R1vTW3hs)B4ha)x|aay1YBiX^yC|0>C8y({|sQ&?9B^C zHvQYgY0*o>M|GS((o`CX>?qL8K}5?S8O0h(S)`U|Yhc0q7)y>Uu$^te<^sVK;9XH9 zNgBx3)<(7LpJZO9J<7IdIltwTClX&}lv^9sNm2d1Fw#_Frhf{7!d?6i87VPb!Q(T2 zI?J();t`K6=^8x9_mpD=CGhWajIkH_{&K9OL?mJnW0#3nk(U`Gpdk(LS70q2#cj-C zEPMqrs1c2rSSR&L8E4W-oWe$aUN4YZfh@X(TWASr!DvE&n$U!_^;W_

Build Log

+--------------------Configuration: InfixEvaluator - Win32 Debug-------------------- +

+

Command Lines

+Creating temporary file "C:\Users\Jason\AppData\Local\Temp\RSPAC52.tmp" with contents +[ +/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fp"Debug/InfixEvaluator.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\Users\Jason\Documents\GitHub\infiz\legacy\Evaluator.cpp" +"C:\Users\Jason\Documents\GitHub\infiz\legacy\RationalNumber.cpp" +"C:\Users\Jason\Documents\GitHub\infiz\legacy\Stack.cpp" +"C:\Users\Jason\Documents\GitHub\infiz\legacy\StringTokenizer.cpp" +] +Creating command line "cl.exe @C:\Users\Jason\AppData\Local\Temp\RSPAC52.tmp" +Creating command line "link.exe -lib /nologo /out:"Debug\InfixEvaluator.lib" .\Debug\Evaluator.obj .\Debug\RationalNumber.obj .\Debug\Stack.obj .\Debug\StringTokenizer.obj " +

Output Window

+Compiling... +Evaluator.cpp +RationalNumber.cpp +Stack.cpp +StringTokenizer.cpp +Creating library... +

--------------------Configuration: tests - Win32 Debug--------------------

Command Lines

+Creating temporary file "C:\Users\Jason\AppData\Local\Temp\RSPAE28.tmp" with contents +[ +/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/tests.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\Users\Jason\Documents\GitHub\infiz\legacy\tests.cpp" +] +Creating command line "cl.exe @C:\Users\Jason\AppData\Local\Temp\RSPAE28.tmp" +Creating temporary file "C:\Users\Jason\AppData\Local\Temp\RSPAE29.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/tests.pdb" /debug /machine:I386 /out:"Debug/tests.exe" /pdbtype:sept +.\Debug\tests.obj +\Users\Jason\Documents\GitHub\infiz\legacy\InfixEvaluator\Debug\InfixEvaluator.lib +] +Creating command line "link.exe @C:\Users\Jason\AppData\Local\Temp\RSPAE29.tmp" +

Output Window

+Compiling... +tests.cpp +Linking...