首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用menhir和ocamlbuild调试代码

使用menhir和ocamlbuild调试代码
EN

Stack Overflow用户
提问于 2021-12-29 06:20:28
回答 1查看 377关注 0票数 0

我正在实现一种小型编程语言。这是代码库。该程序是用ocamlbuild构建的。我使用menhir添加了一个解析器。当我编译和运行程序时,我收到以下消息。

代码语言:javascript
复制
❱ ./main.byte 
Fatal error: exception Parser.MenhirBasics.Error

我试图通过将explain传递给_tag文件来查找更多的细节。

代码语言:javascript
复制
true: color(always), explain

但似乎没有什么区别。如何使menhir通过ocamlbuild生成日志文件?或者其他的调试方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-29 09:36:38

这是menhir生成的解析器引发的语法错误。

您的构建系统与此无关(不过,您应该将dune用于一个新项目,而不是ocamlbuild)。

类似地,--explain标记menhir仅用于生成解析器时的冲突解释。它不向语法错误添加语法错误解释。

如果要调试menhir语法,可以在menhir --interpret中使用menhir整数模式。

代码语言:javascript
复制
menhir --interpret parser.mly

或者用menhir --list-errors列出语法中所有可能的语法错误。

代码语言:javascript
复制
menhir --list-errors parser.mly

这两个选项都应该成为‘嗨’的原因。是语法中的一个相对清晰的语法错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70515803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档