flex 中 yywrap() 的含义

2024-03-19

该指令在 flex (lex) 中意味着什么:

#define yywrap() 1

和这个 [ \t]+$
我在下面的代码中找到它:

(%% [ \t]+ putchar('_'); [ \t]+% %%

输入“你好世界”

输出“你好世界”

)


根据Lex 和 Yacc 页面 http://dinosaur.compilertools.net/flex/flex_10.html:

当扫描仪收到来自的文件结束指示时YY_INPUT,然后它检查yywrap()功能。如果yywrap()返回 false(零),则假定该函数已继续并设置yyin指向另一个输入文件,然后扫描继续。如果它返回 true(非零),则扫描器终止,向其调用者返回 0。请注意,无论哪种情况,启动条件都保持不变;它不会恢复到INITIAL.

The #define用于简化程序的构建(这样就不会-ll需要链接选项)。

进一步阅读:

  • lex 和 yacc 是什么? http://aquamentus.com/tut_lexyacc.html
  • 重新处理输入的例程 http://osr507doc.sco.com/en/tools/Lex_reprocessing.html
  • 6. Lex和YACC内部如何工作 http://tldp.org/HOWTO/Lex-YACC-HOWTO-6.html(Lex 和 YACC 入门/HOWTO)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flex 中 yywrap() 的含义 的相关文章

  • 强制/说服/欺骗 GCC 展开_更长_循环?

    如何说服 GCC 展开迭代次数已知但很大的循环 我正在编译 O3 当然 所讨论的实际代码更复杂 但这里有一个具有相同行为的简化示例 int const constants 1 4 9 16 25 36 49 64 81 100 121 14
  • 如何使用 devtoolset-8-gcc 安装 gcc8

    我使用的是 CentOS Linux 版本 7 3 1611 其中安装了 gcc 4 8 5 20150623 我正在寻找一种安装较新版本的 gcc 的方法 特别是 8 1 我找到了以下关于如何安装 gcc v7 的网站link 1 htt
  • Jenkins中的日志解析规则

    我正在使用 Jenkins 日志解析器插件来提取并显示构建日志 规则文件看起来像 Compiler Error error i error Compiler Warning warning i warning 一切正常 但由于某些原因 在
  • 快速文件读取

    如果我是对的 在 Linux 上 在C C gcc g 可以使用以下命令从常规文件中读取数据read 2 or mmap 2 系统调用 两个问题 做read系统调用的使用mmap内部 什么时候第一个比第二个快 反之亦然 如果您按顺序读取文件
  • 使用矢量化为 iPhone 编译 Eigen 库

    我正在努力为 iPhone 4 编译 Eigen 库 该库具有带有 armv7 指令集的 ARM 处理器 到目前为止 当我指定预处理器定义 EIGEN DONT VECTORIZE 时 一切正常 但由于一些性能问题 我想使用armv7优化的
  • 用于读/写 XMM 和 YMM 寄存器的内联汇编代码?

    我有 2 个变量来模拟 X86 XMM 和 YMM 如下所示 uint64 t xmm value 2 uint64 t ymm value 4 现在我想使用内联汇编来读取和写入 XMM YMM 寄存器 如何编写GCC内联汇编来复制xmm
  • 内联汇编 - cdecl 和准备堆栈

    我最近一直在尝试通过使用缓冲区和不同汇编运算符的原始十六进制等效项来实现 C 中的动态函数 为了说明一个简单的跳转 byte buffer new buffer 5 buffer 0xE9 Hex for jump uint buffer
  • Java 中的合成字段是什么? [复制]

    这个问题在这里已经有答案了 有人可以用一种易于理解的方式解释 Java 中合成字段的重要性吗 我记得在非静态内部类的上下文中阅读它 其中每个此类内部类实例都维护对封闭类的引用 为什么这样的引用 字段被称为合成字段 合成字段是编译器创建的字段
  • 在 Linux 中生成相同的数字,但在 Windows 中则不然

    下面的代码旨在生成区间 1 100 中的五个伪随机数的列表 我播种default random engine with time 0 它返回系统时间UNIX时间 https en wikipedia org wiki Unix time 当
  • 简单的程序崩溃

    所以我已经使用 MinGW GCC 版本 4 4 有一段时间了 并决定是时候升级了 我去MinGW网站下载了最新版本的GCC 4 7 0 删除以前的版本并安装最新版本后 即使是最简单的程序也会崩溃 例如 如果我编译这个程序 include
  • gcc 编译器忽略调试构建的未初始化变量警告

    gcc编译器忽略uninitialized variable warning用于调试构建 这对我来说看起来很奇怪 有人可以帮助我理解这一点吗 Program include
  • 使用 GCC 为 Linux 设备驱动程序编译 Intel AVX 内联

    我在 corei7 上的 ubuntu 上运行 gcc 版本 4 8 2 从谷歌搜索中找到了有关 AVX 内在函数的信息 但我不确定这组内在函数是否可以用于 Linux 设备驱动程序并进行编译 如果可以的话 这里的任何人都可以告诉我 mak
  • 访问附加到 ELF 二进制文件的数据

    我有一个静态 ELF 二进制文件 它从 zip 文件中读取数据 为了简化分发 我想将 zip 文件附加到二进制文件中 如下所示 cat mydata zip gt gt mybinary 我知道这样做不会损坏 mybinary 但我不知道如
  • LLVM到底是什么?

    我一直听说 LLVM 它是 Perl 语言 然后是 Haskell 语言 然后有人用其他语言使用它 它是什么 它与 GCC 到底有什么区别 视角 安全等 LLVM 是一个用于构建 优化和生成中间和 或二进制机器代码的库 LLVM 可以用作编
  • 是否有使用严格求值的 Haskell 编译器或预处理器?

    我正在寻找一个默认使用严格求值而不是惰性求值的 Haskell 编译器 我只想使用 OCaml 但 Haskell 的语法是好多了比 OCaml 的 Haskell 是纯粹的 并且具有很酷的功能 例如类型类 我真的不想经常把 s and 我
  • clrscr() 不工作,getch() 工作。为什么?

    我正在做一个小C请求密钥并执行 switch 语句中的某些代码的程序 include
  • 使用 gcc 在 C 中实现类型安全的可变参数

    很多时候 我希望函数接收可变数量的参数 例如以 NULL 结尾 define push stack t stack push VARARG NULL func push stack t stack char s va list args v
  • ARM + gcc:不要使用一大块 .rodata 部分

    我想使用 gcc 编译一个程序 并针对 ARM 处理器进行链接时间优化 当我在没有 LTO 的情况下编译时 系统会被编译 当我启用 LTO 时 使用 flto 我收到以下汇编错误 错误 无效的文字常量 池需要更近 环顾网络 我发现这与我系统
  • switch case 与 if else [重复]

    这个问题在这里已经有答案了 我想知道以下代码编译成汇编的方式是否有任何区别 我听说 switch case 比 if else 更有效 但在这个例子中我不太确定情况是否如此 if x 1 else if x 2 else and switc
  • 尽管设置为 1.7,IntelliJ IDEA 13 仍使用 Java 1.5

    尽管在所有项目设置中指定了 JDK 1 7 包括File gt Project Structure gt Project Project SDK 则产生以下错误IntelliJ 13当尝试编译一些使用菱形运算符的简单 Java 7 代码时

随机推荐

  • 有没有办法知道文档何时已从缓存与数据库同步?

    我正在构建一个即时通讯应用程序 类似于WhatsApp 我需要显示消息的发送状态 正在发送 已发送 如果是 Firebase 缓存 由于处于离线状态 则发送 如果消息位于在线数据库上 则发送 有没有办法判断特定文档是否已上传到数据库 我目前
  • androidplot背景图像移位

    我尝试使用以下代码将图形网格的背景分为 3 个区域 int data 0xff000000 0x80008000 0xff000000 bgBitmap Bitmap createBitmap data 1 3 Bitmap Config
  • 如何在facebook SDK中分享视频?

    我编写了如下代码 其中文件存在于资源中 它不为空 我成功添加图像 但卡在视频上 void uploadVideo NSLog UPload Videio NSString filePath NSBundle mainBundle pathF
  • 数据库中的实体类...错误无效资源_pm

    我通过 phpMyAdmin 在 MySQL 中创建了数据库和表 我正在尝试使用数据库中的实体类将其连接到我的项目 但是 当我运行我的项目时 出现以下错误 Caused by com sun appserv connectors inter
  • Windows 7、R 3.0.2、插入符号 6.0-21 上插入符号中的 train() 出现致命错误

    我正在尝试使用train 插入符号以适应分类模型 但我遇到了某种未处理的异常 并且在 R 控制台中输出任何错误信息之前我的 R 会话崩溃了 Windows 错误 R for Windows 终端前端已停止工作 我正在运行 Windows 7
  • html表格中的MVC分页

    我有一个带有搜索按钮的搜索表单 当用户输入所有搜索输入字段并按下搜索按钮时 将仅返回同一页面中 html 表中的前 10 条记录 我已经做到了这一点 当用户按下下一页按钮时 我必须保留用户输入的值并将其发送到数据库并获取接下来的 10 条记
  • 在 Z3 中证明归纳事实

    我试图在 Microsoft 的 SMT 求解器 Z3 中证明一个归纳事实 我知道 Z3 一般不提供此功能 如Z3 guide http rise4fun com z3 tutorial guide 第 8 节 数据类型 但是当我们限制要证
  • 未捕获的语法错误:意外的标记:

    我正在 MooTools 脚本中运行 AJAX 调用 这在 Firefox 中工作正常 但在 Chrome 中我得到了Uncaught SyntaxError Unexpected token 错误 我无法确定原因 注释掉代码以确定错误代码
  • 传递多个参数来应用 (Python)

    我正在尝试清理 Python 中的一些代码以向量化一组功能 我想知道是否有一种好方法使用 apply 来传递多个参数 考虑以下内容 当前版本 def function 1 x if string in x return 1 else ret
  • Firebase事务api调用当前数据为空

    当我使用transaction 更新一个位置 该位置的数据是返回空值即使该位置有一些数据 I tried transaction 读取数据后在同一位置 它提供该位置的所有数据 我该如何使用transaction 如果情况像上面那样呢 事务以
  • PHP set_time_limit 抛出 500 错误?

    当我使用set time limit如果脚本运行时间超过 360 秒 则会抛出 500 错误 359 没什么 360及以上 错误 我无法访问 php ini 如何修复此错误 脚本运行时间超过 360 秒 就会抛出 500 错误 听起来你在某
  • Kafka消费者启动延迟汇合dotnet

    当启动 confluence dotnet Consumer 时 在调用订阅和后续轮询之后 似乎需要很长时间才能从服务器接收 分区已分配 事件 因此也需要很长时间 大约 10 15 秒 起初我以为存在自动创建主题的开销 但无论消费者的主题
  • 我应该如何设置集成测试以将测试数据库与实体框架结合使用?

    我正在为应用程序编写集成测试 但无法找到有关如何为我的集成套件设置测试数据库的任何最佳实践 我正在使用实体框架代码优先开发 ASP NET MVC4 应用程序 我可以确认我的测试项目中的测试默认与我的计算机上的本地开发数据库进行通信 这并不
  • Fortran 小数和千位分隔符

    有没有办法更改逗号的句点小数分隔符 另外 如何使输出数字具有千位分隔符 这可以是逗号 句号 空格 打开文件时使用参数 DECIMAL COMMA open 100 file logfile status unknown DECIMAL CO
  • 在此上下文中未定义“this”

    我该如何解决以下情况 interface I class A i I class C I A this lt lt this is not defined in this context 简而言之 我想将类实例传递给超类构造函数 在科特林中
  • iOS/iPhone 可达性 - 如何使用 Reachability.m/.h 仅检查互联网丢失/无法可达的情况

    目前我正在使用苹果的reachability m h 的类并且它可以工作 除了它会通知我任何更改 因为我只想在网络无法访问时通知用户 目前 如果我有互联网连接 然后松开网络 它会告诉我 但是 当您重新连接到网络时 它也会告诉我 这是我不想要
  • 如何将LiveData保存到saveStateHandle中?

    如图所示https stackoverflow com a 61166665 3286489 https stackoverflow com a 61166665 3286489 我们可以将LiveData保存在savedStateHand
  • 具有模型属性的 Django 管理 search_fields

    我正在尝试使用模型中的属性作为 django admin 1 2 中的字段 这是我的代码的示例 class Case models Model reference models CharField u Reference max lengt
  • GIT 重命名分支并保留所有提交历史记录

    我有一个关于重命名 git 分支的问题 我创建了一个本地分支dev并将分支推送到远程 我做了很多工作dev分支并定期更新远程分支 现在我想更改分支的名称dev to development 我知道如何重命名 GIT 中的分支 我的问题是 如
  • flex 中 yywrap() 的含义

    该指令在 flex lex 中意味着什么 define yywrap 1 和这个 t 我在下面的代码中找到它 t putchar t 输入 你好世界 输出 你好世界 根据Lex 和 Yacc 页面 http dinosaur compile