因此,似乎Happy是Haskell中yacc的强大替代品。是否有一个同样强大的词法分析器来替换lex / flex?
答案 0 :(得分:14)
亚历克斯? http://www.haskell.org/alex/
用于在Haskell中生成词法分析器的工具,给出了以正则表达式形式识别的标记的描述。它类似于C / C ++的工具lex或flex ...
Alex是Haskell Platform的一部分,所以如果您安装该平台,您将自动拥有一个有效的Alex。
亚历克斯也在Hackage上。如果您拥有cabal-install工具(也随Haskell平台一起提供),那么您可以使用
构建和安装最新版本的Alexcabal install alex
要了解Alex的最新版本以及单独下载源代码,请访问Alex的HackageDB page。
Alex也可能已为您的操作系统预先打包......
答案 1 :(得分:5)
开心:Yacc :: Alex:Lex
或者使用gazillion parser和lexer combinator库中的一个。