gpt4 book ai didi

parsing - Flex/Lex 和 Yacc/Bison 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 04:36:41 26 4
gpt4 key购买 nike

Flex & Lex 和 Yacc & Bison 之间有什么区别。我在网上疯狂搜索,但没有找到任何可靠的答案。

我可以在 Ubuntu 上安装纯 Lex 和 Yacc,还是只能安装 flex 和 bison。我很困惑。

  • Lex 或 Yacc 是否仍在由某人维护?
  • 全部都是免费的吗?
  • 如果 Lex 不是免费的,为什么我要把它安装在我的 Ubuntu 发行版上?

    lex --version
    lex 2.5.35

最佳答案

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 不是。

关于parsing - Flex/Lex 和 Yacc/Bison 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com