解析类 C 定义字符串的最有效方法?

2023-11-26

我有一组用类 C 语言编写的函数定义,其中包含一些附加关键字,这些关键字可以放在某些参数之前(例如与“无符号”或“寄存器”相同的方式),我需要分析这些行以及一些函数存根并从中生成实际的 C 代码。

  • Flex/Yacc 是最正确的方法吗?

  • 如果我对分析器/解析器的经验为零,它会比使用正则表达式编写 Shell 或 Python 脚本慢吗(我想,如果附加关键字的数量变得更大,它们的效果会相当不同,这可能会变得很痛苦) (虽然我知道 LALR 是如何工作的)?

  • Lex/Yacc 上有解决类似问题的好材料吗?我能找到的所有论文都使用“玩具”计算器的相同原始示例。

任何帮助将不胜感激。


ANTLR常用(如 Lex\Yacc)。

ANTLR,另一种语言工具 识别,是一种语言工具 提供了构建框架 识别器、解释器、编译器、 以及语法上的译者 包含 a 中的操作的描述 多种目标语言。

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

解析类 C 定义字符串的最有效方法? 的相关文章

  • BISON + FLEX 语法 - 为什么标记被连接在一起

    我想了解为什么 BISON 按照以下规则连接两个标记 stmt declaration assignment exp ID lt this rule fprintf stderr n my id is s 1 如果你检查输出就会明白我的意思
  • 语法问题

    我需要解析一个表达式 并且我正在使用 boost spirit 表达式必须具有以下形式 字符串 PV 后面除了 之外的任何内容 我正在使用以下语法 P S gt gt gt gt V S ch p gt gt ch p V str p PV
  • 获取单个方程的脚本

    在文本文件中输入 a 2 8 b 3 9 c 4 8 d 5 9 e a b f c d g 0 6 h 1 7 i e g j f h output i j 期望的输出 输出 2 8 3 9 0 6 4 8 5 9 1 7 如果输入文件名
  • Beautiful Soup 获取动态表数据

    我有以下代码 url https www basketball reference com leagues NBA 2017 standings html all expanded standings html urlopen url so
  • Facebook Graph API 使用 json 和 C# 检索好友

    我正在使用 C 和 Graph API 进行工作 并且能够获取 Facebook 用户个人资料信息 例如 ID 姓名和电子邮件 然后反序列化 JSON 以便能够将值分配给标签 然而 我的问题是 当我去获取好友列表或任何与此相关的列表时 如何
  • 解析整数集的字符串并列出间隔

    I have 2 5 7 9 12 string 我想从中获取 2 5 7 8 9 12 列表 python中有没有内置的函数 Thanks UPD 我想 直接的答案是No 不管怎样 谢谢你的 片段 使用一个 建议者斯文 马尔纳克 s 2
  • 从电话号码确定国际电话代码的算法

    我可以使用 iOS 上的地址簿框架从设备中检索联系人的电话号码 如何区分或识别哪个是国家 地区代码 哪个是实际电话号码 是否可以 国家 地区代码是一个相当混乱的主题 但足够标准 通过一些程序员维护就可以解决它 您可以通过其初始子序列来识别国
  • 用于打印 C/C++ 文件的所有函数定义的 Python 脚本

    我想要一个 python 脚本来打印 C C 文件中定义的所有函数的列表 e g abc c定义两个函数为 void func1 int func2 int i printf d i return 1 我只想搜索文件 abc c 并打印其中
  • 如果没有解析器生成器,如何用 C 或 Objective-C 编写解析器?

    我正在尝试用 C 或 Objective C 制作一个计算器 它接受以下字符串 8 2 4 3 9 2 并返回答案 2920 我不想使用像 Lex 或 Yacc 这样的生成器 所以我想从头开始编码 我该怎么做呢 除了 龙 这本书之外 还有其
  • 为什么有 LR(0) 解析器而不是 LL(0) 解析器?

    我一直在维基百科上阅读这两个内容 并注意到虽然存在 LR 0 解析器 但不存在 LL 0 解析器之类的东西 根据我的阅读 我了解到 LL k LR k 中的 k 表示解析器可以看到多少个字符beyond当前正在处理的当前角色 所以我的问题是
  • PHP - 解析具有固定列宽的文本文件

    我是 PHP 和 Laravel 的新手 我需要打开文件并解析内容以将它们传递到数据库 文本文件具有固定的列宽 它没有分隔符或标题 我认为使用子字符串并将每个子字符串分配给变量将是正确的方法 但我仍在学习该语言的过程中 我不知道如何实现这一
  • 尝试解解析 json 字符串,但得到 Expected start of the object '{', but had 'EOF' 相反

    我正在尝试使用 kotlin 可序列化将 json 文件解析为列表 这是我的数据类 Serializable data class Book val epub String val fb2 String val mobi String va
  • 如何在 Android Lollipop 中使用注释修复 Android Jackson 解析期间的 IncompleteClassChangeError?

    在我们的 Android 应用程序中 我们在模型中使用 Jackson Annotations JsonTypeInfo use JsonTypeInfo Id NAME include JsonTypeInfo As PROPERTY p
  • 寻找引文解析器

    我需要一个解析器来扫描学术文本 提取引文 并将这些引文解析为其组成部分 作者 标题 出版日期等 我尝试过 Paracite 但它速度非常慢 而且不能产生高质量的结果 任何语言都可以 但首选 Java 看一眼ParsCit http aye
  • 在 C# 中遍历 ANTLR AST 的教程?

    有人知道在 C 中遍历 ANTLR 生成的 AST 的教程吗 我能找到的最接近的是this https web archive org web 20201019210638 http www manuelabadia com blog Pe
  • AWK:递归下降 CSV 解析器

    响应一个BASH 中的递归下降 CSV 解析器 https codereview stackexchange com questions 11727 need some advice or help with translation and
  • 使用 Boost::Spirit 解析 time_period 表达式

    我需要使用 Boost Spirit 解析以下 EBNF 表达式 period date part time part date part time part time part hours minutes seconds date par
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 将数组的每个元素解析为整数

    我有一个字符串 需要将其拆分为一个数组 然后对数组的每个元素执行数学函数 目前我正在做这样的事情 实际上 我什么也没做 但这是一个非常简单的例子来解释我的问题 var stringBits theString split var resul
  • jQuery 解析 JSON

    当我尝试解析 JSON 验证的字符串时收到此错误 JSON parse 意外字符 当我删除需要转义的字符 style width 400px 时 它完美地工作 我缺少什么 在使用 parseJSON 之前是否有一种独特的方法来转义字符 va

随机推荐

  • 使用 webpack 将 jQuery 包含在 Angular2 中并从组件访问它

    我想将 jQuery 和 SignalR 包含在我的 Angular2 应用程序中 并使用 webpack 连接所有内容 因此我通过 npm 安装了 jQuery 包 json dependencies jquery 2 1 4 文件和文件
  • Ubuntu 上的 Java 安装问题

    尝试在我的新 Ubuntu 系统上安装 Java JDK 6 并遇到一些奇怪的错误 这是我第一次使用anyLinux 的风格 所以我确信这是一个用户问题 权限或其他 我直接从 Oracle 网站下载了 BIN 文件 适用于 64 位 Lin
  • 使用 Facebook API 获取封面照片

    在我的 Android 应用程序中 我试图从用户的 Facebook 帐户获取他的封面照片 我可以使用下面的代码获取个人资料图片 profilePicUrl new URL http graph facebook com userId pi
  • python - 从自身内部调用函数

    我已经拥有的代码用于接收数学表达式并计算它的机器人 现在我让它做乘法 除法 减法和加法 但问题是我想建立对括号和括号内括号的支持 为此 我需要首先针对括号内的表达式运行我为不带括号的表达式编写的代码 我本来打算检查一下 并将其中的表达式附加
  • 什么是方法、属性和函数?

    是的 我正在为此苦苦挣扎 我无法区分它们 因为我读到的每一个解释都是如此不清楚且足够哲学 有人可以帮我澄清这些定义吗 多谢你们 这些定义与 oop 一样适用于过程编程 谢谢 随着时间的推移 人们使用这些术语的方式已经发生了变化 并且可能会不
  • 使用 icomoon 从 svg Figma 图标生成字体时自动填充颜色

    我想将 svg 转换为图标字体我的 HTML CSS 中的元素使用爱可梦应用程序
  • MySQL 中的存储过程与触发器

    在 MySQL 世界中 存储过程与触发器有何不同 存储过程存储为预编译代码 存储例程 并由程序员在想要触发的任何地方调用 存储过程可以返回值 关于程序和功能 触发器是在发生插入 删除 更新 或其他事件 时自动触发的命名数据库对象 不能显式调
  • bash 在循环中分配给数组索引时遇到问题

    我可以让它在 ksh 中工作 但不能在 bash 中工作 这真的让我发疯 希望这是我忽略的显而易见的事情 我需要运行一个外部命令 其中输出的每一行都将存储在数组索引中 这个简化的示例看起来像是在循环中正确设置了数组 但是在循环完成后 这些数
  • 如何将 Json 字符串转换为 NSArray? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我目前正在尝试将一些对象的 JSON 表示形式转换为NSArray 我用了Res
  • 新的 cassandra 节点无法使用种子进行八卦

    我正在尝试使用 cassandra 2 0 7 启动一个新节点 两个节点均位于 Digital Ocean 种子节点已启动并正在运行 我可以从我尝试启动的节点远程登录到该主机上的端口 7000 root cassandra02 apache
  • pydev 调试器:在 OS 10.8 升级后无法找到 python 2.7 的真实位置

    我刚刚升级到 OS X 10 8 Mountain Lion 但无法理解 pydev 调试器如何在 Aptana 3 0 上工作 在 Aptana 的首选项中 我将 python 解释器设置为 usr bin python 它指出系统库来自
  • Object.GetType() 可以返回 null 吗?

    只是好奇 有什么时间打电话吗 GetType 对象上会返回 null 假设用途 public Type MyMethod object myObject return myObject GetType 对象上的 GetType 永远不会返回
  • 编译具有相同目标的不同子项目时出现 CMP0002 错误

    我有很多子文件夹 home library1 library2 libraryn 每个子文件夹都包含一个可以自行编译的完整库 每个库都有不同的维护器 到目前为止 它工作正常 并且我使用脚本编译它们 现在我需要创建另一个库 它依赖于现有的库
  • 如何使用 Linq 写入 Excel 电子表格?

    我正在编写一个应用程序 需要从数据库中检索一些行并将它们转储到 Excel 电子表格中 我正在使用 Linq 来检索这些行 是否可以将这些行直接转储到 Excel 工作表中的对应行 其中 Excel 中的一个单元格对应于数据库中的一个单元格
  • Primefaces 验证码消失或不更新/刷新无效输入?

    我有以下一段代码h form
  • php8.2 找不到 Redis.dll

    我在 Windows 计算机上使用 PHP 8 2 启动 Redis 5 3 7 时遇到困难 当我尝试启动它时 会显示一个对话框 其中包含以下消息 无法在动态链接库c Program Files php ext php redis dll中
  • jdk1.7的javac在没有-cp选项的情况下找不到javafx jar

    我在这个网站和其他地方读过几个问题 这些问题表明安装 Oracle JDK7 时 不需要指定 jfxrt jar 的类路径当JDK正确安装时 不幸的是 我的安装似乎不正确 但我无法找出问题所在 我为 Red Hat Enterprise L
  • React onChange 处理程序在页面加载期间被多次调用

    我们正在尝试添加一个onChange我们的自定义组件之一的处理程序 即Checkbox组件 它是自定义组件的唯一原因是我们可以有效地封装intermediateHTML 属性 它看起来像这样
  • 即使使用包装类,SwingWorker 异常也会丢失

    我一直在努力解决 SwingWorker 吃掉后台任务中抛出的任何异常的可用性问题 例如 描述的在这个SO线程上 该线程很好地描述了问题 但没有讨论恢复原始异常 我收到的小程序需要向上传播异常 但我什至没能抓住它 我正在使用 SimpleS
  • 解析类 C 定义字符串的最有效方法?

    我有一组用类 C 语言编写的函数定义 其中包含一些附加关键字 这些关键字可以放在某些参数之前 例如与 无符号 或 寄存器 相同的方式 我需要分析这些行以及一些函数存根并从中生成实际的 C 代码 Flex Yacc 是最正确的方法吗 如果我对