字符串解析 - 递归

时间:2011-01-11 15:58:14

标签: recursion expression

我有一个像这样的字符串/表达式:

(((p1 == 1) && (p2 != 2)) || p3 > 3) || (p4 < 5)

我想递归地解析这个表达式,以便构建一个二进制表达式树。

因此,对于这个表达式,根将是||操作

如何构建该算法? 提前谢谢,

1 个答案:

答案 0 :(得分:3)

查看Shunting-Yard Algorithm

  

在计算机科学中, shunting-yard算法是一种方法   解析中缀表示法中指定的数学表达式。它可以   用于以反向波兰表示法(RPN)或作为一个产生输出   抽象语法树(AST)。该算法由Edsger发明   Dijkstra因其操作而命名为“调车场”算法   类似于铁路调车场。