我升级到了 MacOS High Sierra 和 Xcode 9,现在当我运行 flex(lex/词法分析器)时,它没有任何输出。
为什么?我该如何解决?
例如,flex -t testfile.lex
没有输出(对于任何有效文件)。如果我更改文件导致其中出现错误,我将收到错误消息。在 MacOS Sierra 和 Xcode 8 上对同一文件运行 flex 效果很好。
答案1
我有同样的症状。就我而言,这是 m4 的安装损坏(由 macports 遗留,并在我的 PATH 中位于系统 m4 之前)。flex 在后台调用 m4。如果 m4 崩溃而没有输出,flex 将直接退出,而不会显示错误消息。
看看从命令行调用 m4 是否有效。如果不行,那么问题就出在这里。