我正在寻找一个良好的开发环境,可以在其中使用 flex 或 bison 或两者兼而有之。
是否有任何具有这些功能和/或适合此功能的 IDE?
(如果不是下一个最普遍的问题是是否有带有 IDE 的词法分析器/解析器生成器?)
谢谢~亚历克斯
我正在寻找一个良好的开发环境,可以在其中使用 flex 或 bison 或两者兼而有之。
是否有任何具有这些功能和/或适合此功能的 IDE?
(如果不是下一个最普遍的问题是是否有带有 IDE 的词法分析器/解析器生成器?)
谢谢~亚历克斯
Vim对 flex / lex 和 bison / yacc 文件具有出色的语法高亮支持。Vim 似乎从文件扩展名中猜测,所以只要我的 flex 文件以 .l 或 .lex 结尾,而我的 bison 文件以 .y 结尾,它似乎就可以正常工作。我知道,它几乎不是一个 IDE,但我发现语法突出显示对我来说是最有用的功能。
ANTLR有几个可用的IDE,包括我写的一个. 按用户数计算,ANTLRWorks可能是最常用的。我的整体功能较少,但我广泛使用它,因为它与我的 Visual Studio 工作完美集成。ANTLR 的语法语法简洁且非常强大,可为多种语言生成代码,其生成的词法分析器/解析器是干净、可调试的代码。
编辑以解决评论中的问题:
If you are comfortable in emacs, I would suggest these modes:
http://ftp.lip6.fr/pub/emacs/elisp-archive/incoming/bison-mode.el.gz
http://ftp.lip6.fr/pub/emacs/elisp-archive/incoming/flex-mode.el
Keep in mind that both are very buggy, but after a while I figured out most of the quirks to get the indentation working.
An example .emacs that loads these modes: http://www.elliotglaysher.org/emacs/
我个人使用 Gedit 它有一个原生的 lex/flex yacc/bison 突出显示
刚刚找到 GOLD 解析系统。它不是 Flex/Bison,但如果可以接受类似的东西,这似乎是一个很棒的 IDE,并且网站上有很棒的入门文档。
Visual Studio 对 flex/bison 有很好的支持, https://sourceforge.net/p/winflexbison/wiki/Visual%20Studio%20custom%20build%20rules/
总而言之,您需要安装 win_flex_bison,即 flex 和 bison 的 GNUWin 端口,并使用与端口一起存在的“目标”文件设置 Visual Studio 的自定义构建规则,在 VC++ 目录设置中设置 exe 路径;然后像往常一样构建和调试 cpp 文件。