题
我正在寻找一个好的ocaml解析库,它不是flex / bison的衍生物。理想情况下,我想要一个沿着parsec行的monadic组合库,但我找不到任何东西。
我会使用haskell,但为haskell制作llvm绑定比我原先想象的更加烦人。
干杯,
杜安
解决方案
通过Google 这是一个图书馆。 (这也提出了这个和 browse = 96“rel =”noreferrer“>这个,它列出了几个更相关的声音库。)
当我在ML中编写组合子解析器时,由于价值限制和急切的评估,使用起来相当繁琐,这迫使你逐步扩展你的语法规则。据说Ocaml对价值限制更加宽松 - 也许你可以免除一些痛苦。
其他提示
在OCaml世界中,基于流的解析器和 Camlp4 是接下来两种最常见的替代方案。两者都在之前的 OCaml Journal 文章中有详细描述。
Monadic解析器组合在OCaml中相对较少,主要是因为有几个更高级别且效率更高的库。
不隶属于 StackOverflow