public override string ToString()
{
switch (type)
{
case SymbolType.RealValue:
case SymbolType.StringVariable:
if (variable != null)
{
return variable.name;
}
return _value.ToString();
case SymbolType.OperatorAdd:
return "+";
case SymbolType.StringLiteral:
return "\'" + stringValue + "\'";
case SymbolType.OperatorMultiply:
return "*";
case SymbolType.OperatorDivide:
return "/";
case SymbolType.Pow:
return "pow";
case SymbolType.SubExpression:
return "("+subExpression.ToString()+")";
case SymbolType.Empty:
return "(null)";
case SymbolType.FuncCustom:
return customFunc.name;
}
return "";
}