Flex & Lex 和 Yacc & Bison 之间有什么区别。我在网上疯狂搜索,没有找到任何可靠的答案。
我可以在 Ubuntu 上安装纯 Lex 和 Yacc,还是可以只安装 flex 和 bison。我很困惑。
Lex 和 Flex 之间存在一些差异,但您必须滥用 Lex 才会遇到 Flex 的问题。 (我有一个滥用 Lex 的程序,因此无法在 Flex 下工作。)这主要是在输入前瞻领域;在Lex中,您可以提供自己的输入代码并修改字符流; Flex 不会让你这么做。
Yacc 和 Bison 非常兼容,尽管 Bison 有一些额外的技巧。
您可能无法找到要在 Ubuntu 上安装的 Lex 和 Yacc(原始 AT&T 版本)的合法副本。我不一定说这是不可能的,但我不知道这一点。 Flex 和 Bison 很容易获得,并且对于大多数用途来说是等效的。您还可以在 BSD 世界中找到各种替代且大致等效的程序。
Lex 和 Yacc 由 Unix SVRx 许可证持有者维护 - IBM (AIX)、HP (HP-UX) 和 Sun (Solaris) 等公司已按照其命令修改了 Lex 和 Yacc 的版本。 MKS还提供MKS Lex和MKS Yacc;然而,Yacc 至少有一些非标准扩展。
Flex 和 Bison 是免费的。 (AT&T) Lex 和 Yacc 不是。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)