From 146c9247eddf2b601a7e9e71c472912f5a7faf61 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 9 Aug 2013 19:34:13 +0800 Subject: str_to_lower should only apply to Symbols --- parser.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'parser.cpp') diff --git a/parser.cpp b/parser.cpp index 7483847..a00f3f4 100644 --- a/parser.cpp +++ b/parser.cpp @@ -43,7 +43,7 @@ void Tokenizor::set_stream(FILE *_stream) { } while (0) #define TOP (*(buff_ptr - 1)) -void str_to_lower(string &str) { +string str_to_lower(string str) { size_t len = str.length(); for (size_t i = 0; i < len; i++) if ('A' <= str[i] && str[i] <= 'Z') @@ -112,11 +112,7 @@ bool Tokenizor::get_token(string &ret) { else *buff_ptr++ = ch; } - if (flag) - { - str_to_lower(ret); - return true; - } + if (flag) return true; } } if (buff_ptr != buff) POP; @@ -135,7 +131,7 @@ EvalObj *ASTGenerator::to_obj(const string &str) { if ((res = RealNumObj::from_string(str))) return res; if ((res = CompNumObj::from_string(str))) return res; if ((res = StrObj::from_string(str))) return res; - return new SymObj(str); // otherwise we assume it a symbol + return new SymObj(str_to_lower(str)); // otherwise we assume it a symbol } #define TO_EVAL(ptr) \ -- cgit v1.2.3