具有启动条件的 Flex 可重入

2024-02-12

我正在尝试制作一个依赖于启动条件的可重入扫描仪。

我正在遵循与这个人的问题类似的问题:

使用 Flex 编写可重入词法分析器 https://stackoverflow.com/questions/2634998/writing-re-entrant-lexer-with-flex

正如一张海报所提到的,如果您明确创建yyscan_t并将其作为额外参数传递。然而,我仍然得到yyg undeclared使用时出现错误提示BEGIN <sc>等来操纵启动条件。

这是一个错误吗?我应该明确使用yy_push_state and yy_pop_state而是状态函数?


看起来就像你使用时%option reentrant你只能使用BEGIN and YY_START在词法分析器的操作部分,而不是在代码部分。有意义,因为操作解析器状态需要访问解析器状态,但是BEGIN不接受任何参数,因此无法提供它。使用%option stack and yy_push/pop_state似乎是一个合理的解决方法。

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

具有启动条件的 Flex 可重入 的相关文章

  • 将 C++ 代码(本机客户端)移植到浏览器(Web 应用程序)

    我有一个使用 Qt creator SDK 编写的 C 模块 我想将此代码移植到任何网页上运行 而不会对最终用户损害源代码 用户应该能够在任何浏览器 Chrome Firefox Safari Explorer 上看到此模块的输出 而无需安
  • 从数组中输入多个数字,每个数字检查是否为整数

    每个人 我希望有人能帮我弄清楚C语言的一些东西 这是我第一次认真地做IT方面的作业 我没有经验 而且我正在电子学习中学习 所以老师的帮助不是很好 我需要用C语言开发控制台应用程序 用户需要输入10个整数 如果插入的数字不是整数 需要输出错误
  • C++ 天花板函数的奇怪结果

    我一直在尝试天花板功能并得到一些奇怪的结果 如果我对十进制数乘以百执行 ceil 运算 我会得到一定的结果 但是 如果我直接对该乘法的结果执行 ceil 我会得到完全不同的输出 另一个问题是 这些不同的结果仅发生在某些数字上 任何帮助 将不
  • 如何在 C# 中启动文件

    编辑 我觉得自己像个白痴 我有一种感觉 像下面的答案会起作用 但没有看到任何与下面的答案类似的谷歌结果 所以当我看到这段复杂的代码时 我想它一定是这样的 我搜索并找到了这个Windows 列出并启动与扩展关联的应用程序 https stac
  • Visual Studio 2013 Intellisense 不会将枚举类型放在方法参数的位置

    例如 我有以下代码 namespace VS2013 EnumTypes class Program enum SomeEnum One Two static void SomeMethod SomeEnum someEnum some c
  • 析构函数、dispose 和 Finalize 方法之间的区别

    我正在研究垃圾收集器在 C 中的工作原理 我对使用感到困惑Destructor Dispose and Finalize方法 根据我的研究和理解 在我的类中拥有析构函数方法将告诉垃圾收集器以析构函数方法中提到的方式执行垃圾收集 该方法不能在
  • const_iterators 更快吗?

    我们的编码指南更喜欢const iterator 因为它们比正常的要快一点iterator 当您使用时 编译器似乎会优化代码const iterator 这真的正确吗 如果是的话 内部到底发生了什么使得const iterator快点 编辑
  • 有没有办法关闭 Hangfire 使用 Serilog 进行的日志记录?

    有没有办法关闭 Hangfire 使用 Serilog 进行的日志记录 我们正在使用我们自己的抽象 我不希望在使用 Serilog 时来自 Hangfire 记录器的所有额外噪音 INIT call under web project na
  • 模板“内联”函数的静态局部变量[重复]

    这个问题在这里已经有答案了 static的局部变量inline如果我的理解是正确的 C 中的函数保证像单个全局变量一样存在 如果inline函数是一个模板 编译器可以在哪里生成该函数的多个版本 下面这篇文章应该很好地回答你的问题 http
  • 谷歌基准迭代的意义是什么?

    我正在使用 Google Benchmark 来测量某些代码的执行时间 例如 我编写了以下代码来测量其执行时间性能 include
  • 具有多重继承的不明确基数

    我正在尝试在一个大库中编写一些类的子类 我收到 基础不明确 错误 这是该问题的一个可编译示例 include
  • 使用 unrar 库 - 将文件提取到文件流缓冲区中

    我需要的是能够将 rar 文件中的文件提取到流中 我正在创建一个测试用例来了解如何使用解压源文件 http www rarlab com rar unrarsrc 3 9 9 tar gz 我已经搜索和修补了一段时间 但我不知道如何使用该库
  • 如何修改 edmx 的默认代码生成策略?

    我想修改默认的代码生成策略 该怎么做 我只是想修改类名 lt code Escape container gt to Entities并将默认连接字符串更改为name Default 我不想为该项目创建模板文件 我想编辑它以便它可以在全球范
  • 通过 MVC 将数据写入数据库的最佳方法是什么?

    我正在使用 MVC 和 EF Core 开发一个家庭作业项目 我正在寻找将数据写入数据库的最佳方法 我是初学者 有两张桌子 Predbilje ba 报名 和Seminari 研讨会 public class Predbilje ba Ke
  • 如何在 C# 中停止程序进一步执行

    string FirstName Console ReadLine if FirstName Length gt 12 Console WriteLine if FirstName Length lt 3 Console WriteLine
  • 从 TFS 下载工作项附件(文件已损坏)

    我正在尝试创建 C 代码 因此我可以自动从 Team Foundation Server 下载 BUGS 预定义查询的所有附件 该代码似乎工作得很好 但所有下载的文件都因意外原因而损坏 我无法查看它们 有人可以看一下代码并分享意见吗 非常感
  • 使用可变参数模板函数计算多个值的平均值

    我正在尝试编写一个函数来确定任意数量参数的平均值 所有参数都具有相同的类型 出于学习目的 我尝试使用可变参数模板函数来做到这一点 这是我到目前为止所拥有的 template
  • 返回右值 - 这段代码有什么问题? [复制]

    这个问题在这里已经有答案了 我遇到了以下代码片段 std string test std string m Hello return std move m int main std string m test 我知道上面的代码是不正确且不安
  • 使用 Powershell 或 C# 获取 Azure“文件和文件夹”作业状态

    我一直在尝试找到一种方法来获取在 AzureRM 中运行的几个客户上运行的 文件和文件夹 备份作业的状态 可以在 AzureRm 门户中手动找到状态 恢复服务保管库 gt 作业 gt 备份作业 使用powershell不显示任何作业信息 G
  • 如何使用 __m128i 执行元素左移?

    我发现 SSE 移位指令只能在所有元素上移位相同的量 mm sll epi32 mm slli epi32 这些会移动所有元素 但移动量相同 http software intel com sites products documentat

随机推荐

  • 为什么 sleep 函数睡眠不一致?

    import time from time import sleep from datetime import datetime while True print datetime now strftime Y m d H M S slee
  • C# 属性覆盖Set方法

    我有一个如下所示的班级 当有人设置值时 我想覆盖 学校 国家 等 属性的设置值 我不想更改学生班级 但我需要这样做在基类中并将其用作通用方法 public class Student BaseClass public String Scho
  • 使用 rCharts 添加到图表中所有数据点的唯一链接

    我正在使用 rCharts 创建一个散点图 显示我随时间计算的评分 我有每个单独数据点 评级 的更多信息 并且希望图表上的每个数据点链接到一个独特的页面 其中包含有关该特定数据点的更多信息 例如 我希望能够将鼠标悬停在图表上的第一个数据点上
  • 如何在 Youtube Android Player API 中启用纸板模式?

    我想在我的应用程序中以纸板模式观看 Youtube 的 360 度视频 该模式将视频分成两半 供 Google 纸板中的两个镜头使用 就像在 Youtube 应用程序中一样 我正在使用适用于 Android 的 Youtube 播放器 AP
  • Android Studio渲染问题

    我在用着安卓工作室0 2 3当打开一个活动布置通常 预览应该出现在右侧 以便我可以在之间切换Text and Design模式 这应该再次显示布局的预览 但当我进入时 右侧也没有显示预览text模式也不在design模式 我刚刚收到错误re
  • JMeter在HTTP请求中使用beanshell变量

    我是这里的绝对菜鸟 我的意思是JAVA 花了几个小时寻找解决方案 现在我只想开枪自己 我想在 beanshell 断言中创建一个字符串 该字符串位于 HTTP 请求的正上方 在 beanshell 中我写道 String docid abc
  • 如何在 Mysql 中使用带有 BETWEEN 子句的字母数字字段?

    我有一个包含字段名称为 mgrs 的表 存储在 mgrs 字段中的值类似于 42SWC227821555 可能包含更多字符 并且可能包含小写字母 现在我想搜索两个经理之间的记录 那么我该怎么做呢 我可以先将 mgrs 值转换为整数 然后在
  • 从 Matlab 创建的 jar 文件返回值

    我有一个 Matlab 代码 它最终计算出索引向量 我使用库编译器将 matlab 代码编译为 java 包 jar 文件 我导出了 jar 文件以便在我的主 Java 项目中运行它 包类的名称是 Epidemic 我导入了 jar 文件
  • 无法连接到 BLE 设备

    尝试将 Android 手机连接到某种不寻常的非标准 BLE 设备 血压监测仪 数据点 我的程序可以正常连接并读取其他 BLE 设备 我的程序在 BLE 扫描中看到设备 但无法连接 相反 我立即获得 已断开连接 状态 并带有通用 GATT
  • attributeSubstringFromRange 越界问题

    我有一个 NSMutableAttributedString 我需要从中获取子字符串 我使用以下代码来获取子字符串 startIndex 和 endIndex 是两个长变量 NSMutableAttributedString current
  • 一个 git 子模块如何添加特定提交并将其记录在 .modules 文件中?

    理想情况下我想要 modules文件具有我想要使用的确切提交并且不更改它 除非我告诉它 例如使用git submodule init
  • 如何使用 FOP 在 XML-FO 中指定 2ch 缩进

    我正在尝试在 XML FO 文档中使用固定宽度字体创建两个字符的缩进 我正在使用 FOP 进行翻译 不幸的是 当我指定像这样的长度时 2ch FOP 产生以下错误消息 ERROR PropertyMaker Unknown length u
  • 将 datetime2 数据类型转换为 datetime 数据类型会导致值超出范围

    我有一个包含 5 列的数据表 其中一行填充了数据 然后通过事务保存到数据库中 保存时返回错误 将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围 正如所读 这意味着我的数据表有一种类型DateTime2和我的数
  • 如何在不使用配置文件的情况下以编程方式添加 maxItemsInObjectGraph?

    我已经创建了一个像这样的 EndpointAddress EndpointAddress address new EndpointAddress http example com services OrderService svc 但我无法
  • 将 ERB 模板转换为 SLIM

    我的许多视图都是 SLIM 模板 我想添加一个vote form偏向我的应用程序 我如何将这个部分视图从 ERB 转换为 SLIM strong class result Votes strong
  • 为什么在 keydown 回调中返回 false 不会停止按钮单击事件?

    我有一个按钮和以下 javascript 例程 button keydown function key switch key keyCode case 32 space return false 据我了解 return false 将停止处
  • 从 iOS 应用程序连接到 Oracle

    我知道这个问题已经被问过几次了 但似乎没有明确的答案 我在过去 3 天或更长时间里一直在寻找这个问题 似乎有两种方法可以从 iOS 应用程序连接到 Oracle 数据库 ODBC客户端 我需要使用 gcj for ARM 编译 ODBC 哪
  • 选择然后更新这些记录,然后将它们返回到存储过程中

    我想做一个 SELECT 来获取 ID 列表 根据这些 ID 进行更新 然后返回这些记录 我猜是这样的 我只是不知道语法 SELECT WebHookLogIDs FROM WebHookLog WHERE Processing 0 AND
  • 按特定值优先排序的列表

    我想对这个字符串列表进行排序 优先考虑某个字符串 除此之外 普通的字符串排序就可以了 在这个例子中 为什么我这么笨 这是我们可以从这个问题中得到的最明显的东西 旨在被排序在列表的顶部 static void Main string args
  • 具有启动条件的 Flex 可重入

    我正在尝试制作一个依赖于启动条件的可重入扫描仪 我正在遵循与这个人的问题类似的问题 使用 Flex 编写可重入词法分析器 https stackoverflow com questions 2634998 writing re entran