在parsing器组合库(如Haskell的Parsec)中编写parsing器时,通常有两个select: 编写一个词法分析器,将您的Stringinput分成标记,然后在[Token]上执行parsing 直接在String上写分析器组合器 第一种方法通常似乎是有道理的,因为许多parsinginput可以被理解为由空格分隔的令牌。 在其他地方,我曾经看到人们build议不要使用标记(或者扫描或者打点 ,有些人称之为),简单地被引用为主要原因。 勒索与不做之间的一般权衡是什么?