【发布时间】:2023-03-16 11:01:01
【问题描述】:
我需要从存储在 db 表中的数据生成 C 结构和数组,并交替解析类似的信息。我同时使用 ruby 和 python 来完成这项任务,并且想知道是否有人听说过一个模块/lib 可以为任何一种/两种语言处理这个?我可以通过一些字符串处理自己完成此操作,但想检查是否存在人们知道的已知且经过测试的解析器。谢谢。
【问题讨论】:
-
祝你好运。 C 已经是一种不是为易于解析而设计的语言,但 C++ 更糟糕 - 假设您要解析真实代码,而不仅仅是您自己生成的代码。
-
你为什么要这样做?
-
我同意,您不太可能找到恰好为 Ruby 或 Python 编写的完整 C 或 C++ 解析器,任何人都没有动力去构建它。因此,您可能需要考虑自己解析它。如果您只想在标量数据类型上处理合法的基本结构,那么为 C 语言的这个子集编写语法非常简单。如果您想要处理 任意 结构(带有联合、位偏移、typedef 的定义/使用等),尤其是那些取自真实代码的结构,那么您还有很多工作要做。
标签: python ruby parsing code-generation lexical-analysis