我正在构建一个高级数学解析器,并且想知道Shunting-Yard和其他可用的解析器算法之间的区别,例如“Descent Parser”,因为我知道我更喜欢以RPN表示法存储公式。
提前致谢,
答案 0 :(得分:2)
我从来没有太多使用"调车场"算法,因为它似乎只关注中缀表达式。递归下降解析很容易做表达式和大多数你想用更复杂的解析器做的事情。更一般,我发现它更有用,并且不需要记住两种技术。
请参阅我的答案,了解如何在此处构建递归下降解析器:Is there an alternative for flex/bison that is usable on 8-bit embedded systems?