照片由Lionel Pottier拍摄

Menhir是什么?

Menhir是用于OCaml公司编程语言。那就是,Menhir将LR(1)语法规范编译为OCaml代码。Menhir由François Pottier和亚恩·雷吉斯·贾纳斯.

Menhir 90%与ocamlyacc公司.旧ocamlyacc语法规范由Menhir接受和编制。产生的结果解析器运行并生成正确的解析树。然而,解析器显式调用模块中的函数正在分析表现稍微有点不正确。例如,提供访问权限的功能to-positions在被Menhir调用时返回一个虚拟位置解析器。将语法规范从ocamlyacc移植到Menhir需要替换对模块的所有调用正在分析使用新的Menhir特定的关键字。

为什么更喜欢Menhir而不是ocamlyacc?

Menhir的参考手册中记录了其他差异。

文件

这个参考手册在中可用HTML格式PDF格式格式。

这个Menhir图书馆。转换API提供转换工具在传统解析器API(假设词法分析器使用ocamllex生成)和修订的API(没有这样的假设)。

模块Menhir图书馆。LexerUtil公司提供设施用于从词法分析缓冲区中提取语法错误的位置,以及以可读的方式显示它。

模块Menhir图书馆。错误报告提供设施用于构造语法错误消息。

增量API定义如下MenhirLib公司。增量引擎(参考手册中也有说明)。

正在下载

这些是源代码版本Menhir的。编译和安装需要GNU制造和OCaml公司(4.02或更高版本)。缺陷欢迎提出报告和建议。以下是最近的列表变化.

Menhir也可以通过奥帕姆.安装opam后,只需键入opam安装menhir.

邮件列表

有一个邮件列表用于发布公告用于讨论问题、错误、功能请求,等等。只有订阅者才能发布。


法国主页电子邮件上次修改日期:2021年8月10日