iOS DDMathParser 获取数学表达式的求解步骤

iOS DDMathParser get solving steps of math expression

我正在使用 DDMathParser 为 iOS 构建某种计算器。我想知道如何将像 3+3*4 (After parsing add(3,multiply(3,4))) 这样的表达式 (NSString) 分成单独的步骤:multiply(3,4) add(3,12)。我更愿意在 NSArray 或其他相对有用的列表对象中获取这些。

DDMathParser 作者在这里。

这应该很简单。解析器可以返回 well-formed 表达式树,而不仅仅是数值计算。使用表达式树,你会做这样的事情:

  1. 找到树中最深的表达式。这是将要评估的第一件事。
  2. 手动计算该表达式
  3. 将评估代回树中以代替原始表达式
  4. 创建整个树的副本以引用它在此时查看的内容。
  5. 重复直到没有更多要评估的东西。