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

2024-01-24

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flex/Lex 和 Yacc/Bison 有什么区别? 的相关文章

随机推荐

  • 使用 Ajax 平铺滚动/预加载 HTML 层(Google 地图样式)

    我希望复制 Google Maps API 的平移 不一定是缩放 效果 但不包含图像 本质上 我想将 HTML 元素放置在一个大坐标系中 并能够在它们周围导航 Prezi http prezi com 样式 尽管没有旋转 最好 我想通过 j
  • Magento:您可以设置它以便所有网站共享相同的订单增量 ID 序列吗?

    有谁知道是否可以让所有网站或商店共享相同的订单增量 ID 基本上 我们正在使用一个 ERP 系统 该系统允许我们提交发票号码作为系统中的实际订单号码 但问题是 他们只需要一个号码序列 而不是像 Magento 那样为每个商店使用不同的号码序
  • 防止 asp.net mvc 应用程序中的多个 POST

    如果用户不断单击提交按钮 如何防止用户多次将相同的数据发布到操作 我知道在 php 中 有一种方法可以防止这种多次提交 但我没有看到任何用于 asp net mvc 的方法 有没有 您可以使用 JavaScript 禁用提交按钮 jQuer
  • 画布上绘制的圆圈与屏幕不匹配

    我想在屏幕中心画一个圆圈 但我得到的是这样的东西 我正在使用这段代码来绘制这个圆圈 public void onCreate Bundle savedInstanceState super onCreate savedInstanceSta
  • 减少 Pyinstaller 生成的可执行文件的文件大小的一般技巧有哪些

    我正在使用 Pyinstaller 将 python 脚本转换为可执行文件 该脚本包含来自各种包 如 nltk begin json 等 的多个导入 10 行代码生成的可执行文件为 54MB 这是不切实际的高 我知道它将所有模块打包在一个文
  • 形成对对象的引用是否构成访问?

    形成对对象的引用是否构成访问 以下是 GCC 和 Clang 目前所做的事情 void test int const volatile ptr noexcept ptr movl rdi eax Reads ptr maybe unused
  • 在使用 MediaCodec 进行编码之前裁剪视频以进行 Grafika 的“连续捕获”活动

    我正在了解 Grafika 的 连续捕获 活动 它是关于使用 MediaCodec 录制视频 活动源代码位于https github com google grafika blob master src com android grafik
  • 朱莉娅:外积函数

    In R 功能outer结构上允许您获取两个向量的外积x and y同时提供了许多应用于每个组合的实际功能的选项 例如outer x y 创建一个 外积 矩阵 其中包含元素之间的差异x and y 朱莉娅有类似的东西吗 广播是添加时发生的
  • 创意中的无定形镜片

    我尝试对 scala 2 10 3 使用版本 2 0 0 的无形状镜片 我有与此类似的代码 import shapeless case class A map Map String String case class B a A val m
  • 在 Android Jetpack Compose 中使用 State 时出现 java.lang.IllegalStateException

    I have ViewModel使用 Kotlin 密封类为 UI 提供不同的状态 另外 我用androidx compose runtime State通知 UI 有关状态更改的对象 如果出现错误MyApi请求发生时 我把UIState
  • iCloud 和 Xcode 6 - 无处不在的容器

    我目前正在开发一个适用于 iOS 8 的应用程序 它使用 iCloud Drive 和 CloudKit Framework 一切都是使用 Xcode 6 设置的 When I try to submit my App to iTunesC
  • 如何构建F#类型的实现业务规则?

    我正在尝试在 F 中构建一个类型 当我获得该类型的对象时 我可以确定它处于有效状态 该类型称为JobId它只持有一个Guid 业务规则是 它必须是一个 Guid 但不能是空的 Guid 我已经在 C 中实现了该类型 但现在我想将其移植到 F
  • 从 ruby​​ c 扩展中的线程调用 IO 操作将导致 ruby​​ 挂起

    我在使用 C 扩展中的线程异步运行 ruby 代码时遇到问题 我有以下 C 代码 struct DATA VALUE callback pthread t watchThread void ptr void executer void pt
  • 如何检查 python 2.7 中的原始输入是否为整数?

    有没有一种方法可以用来检查raw input是一个整数 我在网上查了资料后发现了这个方法 print isinstance raw input number int 但是当我运行它并输入4例如 我得到FALSE 我对 python 有点陌生
  • 将 POI 工作簿流式传输到 servlet 输出流

    我在我的网络服务器上构建了一个非常大的 POI 工作簿 将整个工作簿保存在内存中 不会针对多个并发请求进行扩展 有没有办法可以逐步将工作簿写入 servlet 输出流 这应该会减少响应时间 并提高进程内存的效率 如果您要生成 Excel 2
  • Guice 和一般应用程序配置

    对于用 Java 编写的监控软件 我考虑使用 Google Guice 作为 DI 提供程序 项目需要从外部资源 文件或数据库 加载其配置 该应用程序设计为在独立模式或 servlet 容器中运行 目前 配置不包含用于依赖项注入的绑定或参数
  • 如何在Release模式下启用TRACE宏?

    The 跟踪宏 http msdn microsoft com en us library 4wyz8787 VS 80 aspx可用于在代码编译时向调试器输出诊断消息Debug模式 我在的时候需要同样的信息Release模式 有办法实现这
  • chrome浏览器粗边框问题

    边框折叠在 Chrome 浏览器中无法正常工作 有些边界线看起来很粗 请查看这张图片并帮助我解决这个错误 I need lite border for all rows but highlighted rows border are loo
  • 如何使用 scikit learn inverse_transform 和新值

    我有一组数据是我使用scikit learn PCA 我在使用 StandardScaler 执行 PCA 之前对数据进行了缩放 variance to retain 0 99 np scaled StandardScaler fit tr
  • Flex/Lex 和 Yacc/Bison 有什么区别?

    Flex Lex 和 Yacc Bison 之间有什么区别 我在网上疯狂搜索 没有找到任何可靠的答案 我可以在 Ubuntu 上安装纯 Lex 和 Yacc 还是可以只安装 flex 和 bison 我很困惑 Lex 或 Yacc 是否仍然