lab2 feat: add constant folding
This commit is contained in:
+6
-1
@@ -186,17 +186,22 @@ public:
|
||||
|
||||
std::shared_ptr<std::string> to_math_str(void) const
|
||||
{
|
||||
char buffer[128] = {0};
|
||||
|
||||
switch (t)
|
||||
{
|
||||
case VAR:
|
||||
return v.s;
|
||||
case CONST:
|
||||
{
|
||||
char buffer[128] = {0};
|
||||
return std::make_shared<std::string>((std::ostringstream() << v.d).str());
|
||||
}
|
||||
case OPERATOR:
|
||||
return std::make_shared<std::string>(op_math_str());
|
||||
case CV:
|
||||
return std::make_shared<std::string>((std::ostringstream() << "t" << v.cv.i).str());
|
||||
case NAT:
|
||||
return std::make_shared<std::string>("");
|
||||
default:
|
||||
return std::make_shared<std::string>("Not a valid token!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user